﻿using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Dyao.Book.Contract;
using Foundation.Entity;

#nullable disable

namespace Dyao.Book.Entity
{
    [Table("DataTaskCenterSettings")]
    public partial class TaskCenterSettingsEntity : BaseEntity<string>, ICreateUserName, ICreateOn, IUpdateUserName, IUpdateOn
    {
        /// <summary>
        /// 规则ID
        /// </summary>
        [StringLength(500)]
        public string RuleIds { get; set; }

        /// <summary>
        /// 应用程序标识，用于区别数据所属系统'
        /// </summary>
        public string AppKey { get; set; }

        /// <summary>
        /// 分类
        /// </summary>
        public TaskCenterCategoryEnum Category { get; set; }

        [Required]
        [StringLength(200)]
        public string DisplayName { get; set; }

        /// <summary>
        /// Command名称
        /// </summary>
        [Required]
        [StringLength(500)]
        public string CommandName { get; set; }

        /// <summary>
        /// 是否允许重试
        /// </summary>
        public bool IsAllowRetry { get; set; }

        /// <summary>
        /// 最大重试次数
        /// </summary>
        public int MaxRetryCount { get; set; }

        /// <summary>
        /// 超时秒数
        /// </summary>
        public int? TimeOutSecond { get; set; }

        /// <summary>
        /// 权限编号
        /// </summary>
        [StringLength(500)]
        public string RightNo { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [StringLength(500)]
        public string Remark { get; set; }

        [Required]
        [StringLength(50)]
        public string CreateUserName { get; set; }

        public DateTime CreateDateTime { get; set; }

        [Required]
        [StringLength(50)]
        public string UpdateUserName { get; set; }

        public DateTime UpdateDateTime { get; set; }
    }
}
